package com.common.base.config;

import java.util.Map;

import com.common.base.utils.PropertiesLoader;
import com.google.common.collect.Maps;

/**
 * 全局配置类
 * @author jfeng
 * @version 2014-03-04
 */
public class Global {
	
	/**
	 * 保存全局属性值
	 */
	private static Map<String, String> map = Maps.newHashMap();
	
	/**
	 * 属性文件加载对象
	 */
	private static PropertiesLoader propertiesLoader = new PropertiesLoader("config/env/app.properties");
	
	/**
	 * 获取配置
	 * @param key 
	 * 			默认属性文件中键名称
	 * @return key所对应的值
	 */
	public static String getConfig(String key) {
		String value = map.get(key);
		if (value == null){
			value = propertiesLoader.getProperty(key);
			map.put(key, value);
		}
		return value;
	}
	
	/**
	 * 获取URL后缀
	 */
	public static String getUrlSuffix() {
		return getConfig("urlSuffix");
	}
	
	/**
	 * 获取图片上传路径
	 */
	public static String getUploadPath() {
		return getConfig("upload.file.path");
	}
	
	/**
	 * 是否是演示模式，演示模式下不能修改用户、角色、密码、菜单、授权
	 */
	public static Boolean isDemoMode() {
		String dm = getConfig("demoMode");
		return "true".equals(dm) || "1".equals(dm);
	}
	
	/**
	 * 获取默认的网站样式
	 * @return
	 */
	public static String getDefaultTheme(){
		return getConfig("defaultTheme");
	}
	
	/**
	 * 国际化 - 操作成功
	 */
	public static String MSG_OPER_SUCCESS = "operSuccess";
	
	/**
	 * 国际化 - 系统错误
	 */
	public static String MSG_SYSTEM_ERROR = "systemError";
	
	/**
	 * 用户权限机构
	 */
	public static String INST_ORG = "INST_ORG";
}
